/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package forms;

import beans.AffecteMatiere;
import dao.AffecteMatiereUtilisateurDAO;
import dao.DAOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;

/**
 *
 * @author florianpf
 */
public class AffecteMatiereUtilisateurForm {
    
    private static final String CHAMP_ID_MATIERE = "selectMatiere";
    private static final String CHAMP_ID_UTILISATEUR = "selectUtilisateur";
    
    private String              resultat;
    private Map<String, String> erreurs          = new HashMap<String, String>();
    
    private AffecteMatiereUtilisateurDAO      amuDAO;
    
    
    public AffecteMatiereUtilisateurForm(AffecteMatiereUtilisateurDAO affecteMatiereUtilisateurDAO) {
        this.amuDAO = affecteMatiereUtilisateurDAO;
    }
    
    public Map<String, String> getErreurs() {
        return erreurs;
    }

    public String getResultat() {
        return resultat;
    }

    public AffecteMatiere AffecterMatiere(HttpServletRequest request) {
        
        String idMatiere = getValeurChamp( request, CHAMP_ID_MATIERE );
        String idUtilisateur = getValeurChamp( request, CHAMP_ID_UTILISATEUR );
        AffecteMatiere amu = new AffecteMatiere();
        
        try {
            
            amu.setMatiere(Integer.parseInt(idMatiere));
            amu.setUtilisateur(Integer.parseInt(idUtilisateur));
               
            if ( erreurs.isEmpty() ) {
                
                amuDAO.creerAMU(amu);
                resultat = "L'affectation a été crée avec succès.";
            } else {
                resultat = "Echec de l'affectation d'une matiere à un professeur, veuillez recommencer.";
            }
        } catch ( DAOException e ) {
            resultat = "Echec de l'affectation d'une matiere à un professeur : une erreur imprévue est survenue, merci de réessayer dans quelques instants.";
            e.printStackTrace();
        } 
        return amu;
        
    }
    
    private static String getValeurChamp( HttpServletRequest request, String nomChamp ) {
        String valeur = request.getParameter( nomChamp );
        if ( valeur == null || valeur.trim().length() == 0 ) {
            return null;
        } else {
            return valeur;
        }
    }
    
}
